linux下源码编译安装mysql |
您所在的位置:网站首页 › yum 安装包位置 › linux下源码编译安装mysql |
安装需求 安装需求 具体配置 安装目录(basedir) /mysql_3307 数据目录(datadir) /mysql_3307/data 端口号 3307 socket文件位置 $basedir/mysql.sock 字符集 utf8mb4 了解配置选项 常用配置选项配置选项 描述 默认值 建议值 CMAKE_INSTALL_PREFIX 安装基目录(basedir) /usr/local/mysql 根据需求 MYSQL_DATADIR 数据目录(datadir) $basedir/data 根据需求 SYSCONFDIR 默认配置文件my.cnf路径 /etc MYSQL_TCP_PORT TCP/IP端口 3306 非默认端口 MYSQL_UNIX_ADDR 套接字socket文件路径 /tmp/mysql.sock $basedir/ DEFAULT_CHARSET 默认字符集 latin1 utf8mb4 DEFAULT_COLLATION 默认校验规则 latin1_swedish_ci utf8mb4_general_ci WITH_EXTRA_CHARSETS 扩展字符集 all all ENABLED_LOCAL_INFILE 是否启用本地加载外部数据文件功能 OFF 建议开启 WITH_SSL SSL支持类型 system 建议显式指定 WITH_BOOST Boost库源代码的位置 Boost库是构建MySQL所必需的,建议事先下载 存储引擎相关配置项说明: 以下选项值均为布尔值,0或1;0代表不编译到服务器中,1代表编译,建议都静态编译到服务器中。 其他的存储引擎可以根据实际需求在安装时通过WITH_xxxx_STORAGE_ENGINE=1的方式编译到服务器中。 配置选项 描述 WITH_INNOBASE_STORAGE_ENGINE 将InnoDB存储引擎插件构建为静态模块编译到服务器中;建议编译到服务器中 WITH_PARTITION_STORAGE_ENGINE 是否支持分区 WITH_FEDERATED_STORAGE_ENGINE 本地数据库是否可以访问远程mysql数据 WITH_BLACKHOLE_STORAGE_ENGINE 黑洞存储引擎,接收数据,但不存储,直接丢弃 WITH_MYISAM_STORAGE_ENGINE 将MYISAM存储引擎静态编译到服务器中 MySQL的源码编译安装第一步:安装MySQL编译需要用到的依赖库 # yum -y install ncurses-devel cmake libaio-devel openssl-devel第二步:上传软件到服务器端并解压 # tar -xf mysql-boost-5.7.31.tar.gz# cd mysql-5.7.31第三步:配置(基于cmake进行配置) # vim myconfig.shcmake . \-DCMAKE_INSTALL_PREFIX=/mysql_3307 \-DMYSQL_DATADIR=/mysql_3307/data \-DMYSQL_TCP_PORT=3307 \-DMYSQL_UNIX_ADDR=/mysql_3307/mysql.sock \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_PARTITION_STORAGE_ENGINE=1 \-DWITH_FEDERATED_STORAGE_ENGINE=1 \-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \-DWITH_MYISAM_STORAGE_ENGINE=1 \-DENABLED_LOCAL_INFILE=1 \-DEXTRA_CHARSETS=all \-DDEFAULT_CHARSET=utf8mb4 \-DDEFAULT_COLLATION=utf8mb4_general_ci \-DWITH_SSL=system \-DWITH_BOOST=boost# chmod +x myconfig.sh# ./myconfig.sh选项说明:-DCMAKE_INSTALL_PREFIX :安装路径-DMYSQL_DATADIR :数据目录-DMYSQL_TCP_PORT :端口号-DMYSQL_UNIX_ADDR :套接字文件位置 第四步:编译安装 # make -j4 && make install选项说明:-j4 :代表同时开启多个线程共同实现编译操作编译报错常见问题解析问题1:没有boost导致安装失败 问题2:编译安装中途报错 解决方案:只能重新编译一下 # rm -f CMakeCache.txt# make -j4 && make install补充:我中途遇到了编译中途报错的情况,虚拟机关机,把内存调到4096MB(即4GB),然后开机再次执行make -j4 && make install 命令就可以了。注:其实不必删除CMakeCache.txt文件,删除了该文件还要重头再来,而直接执行编译安装命令,会继续上次出错的地方。 MySQL数据库的初始化注意:进入到安装目录里/mysql_3307 # cd /mysql_3307第一步:创建mysql-files目录 创建系统变量`secure_file_priv`限制导入导出目录并修改权限# mkdir mysql-files# chown -R mysql:mysql /mysql_3307# chmod 750 mysql-files第二步:数据库初始化操作 # bin/mysqld --initialize --user=mysql --basedir=/mysql_3307 --datadir=/mysql_3307/data...2020-08-24T11:07:37.621346Z 1 [Note] A temporary password is generated for root@localhost: O6.iHqrZgzz7第三步:拷贝mysql.server脚本到/etc/init.d目录,然后启动数据库 # cp support-files/mysql.server /etc/init.d/mysql_3307# service mysql_3307 start启动异常的解决方案: 查看mysql.itcast.cn.err这个错误日志(注:你电脑里的日志文件名可能不一样,它是格式是 主机名.err,如果你的主机名是study1,那么这个文件名为study1.err) 出现以上问题的主要原因在于mysql这个用户对/mysql_3307目录没有写入文件的权限,写入mysql_socket套接字文件。 解决方案: # chown -R mysql.mysql /mysql_3307MySQL源码编译安装后的后续配置第一步:编写MySQL配置文件,my.cnf # vim /mysql_3307/my.cnf[mysqld]basedir=/mysql_3307datadir=/mysql_3307/datasocket=/mysql_3307/mysql.sock# service mysql_3307 restart 第二步:设置管理员的密码 # bin/mysqladmin -uroot password '123' -pEnter password:O6.iHqrZgzz7第三步:安全设置 # bin/mysql_secure_installation第四步:添加mysql_3307到开机启动项 # chkconfig --add mysql_3307# chkconfig mysql_3307 on |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |